'use strict';

// 纽带AI
const { jwt } = require('./jwt.js');

// 智谱ApiKey
const ApiKey = {
	id: '877b5c03d90aa062c7bebe1f3bd15893',
	secret: 'loBfuSRHLLO6J6fQ'
};

module.exports = {
	_before: function () { // 通用预处理器
		//
	},
	
	say(str){
		return{
			code:"200",
			data:str
		}
	},
	
	createToken() {
		return jwt.sign({ api_key: ApiKey.id }, ApiKey.secret, { expiresIn: 6000 });
	},
	
	checkToken(token) {
		return jwt.verify(token, ApiKey.secret)
	},
	
	async send(data) {
		const token = this.createToken();
		console.log('token:', token);
		
		// const check = this.checkToken(token);
		// console.log('check:', check);
		
		// sse模式
		// const url = "https://open.bigmodel.cn/api/paas/v3/model-api/chatglm_turbo/sse-invoke"
		// 同步模式
		const url = "https://open.bigmodel.cn/api/paas/v3/model-api/chatglm_turbo/invoke"
		const res = await uniCloud.httpclient.request(url, {
			method: "POST",
			dataType: "json", // 此处指定为json表示将此请求的返回值解析为json
			timeout: 30000,
			headers: {
				"Content-Type": "application/json", 
				"Authorization": token
			}, 
			data: data
		});
		return res;
	},
	
	async main(event, context) {
		// //event为客户端上传的参数
		// console.log('event : ', event);
		
		// const res = await this.send({
		// 	prompt: [
		// 		{ role: "user", content: "编写10字以内的数字化营销的口号" }
		// 	]
		// });
		// console.log('res:', res);
		
		// //返回数据给客户端
		// return event;
		
		// event为客户端上传的参数
		console.log('event : ', event);
		
		const res = await this.send(event);
		console.log('res:', res);
		
		//返回数据给客户端
		return res;
	}
}